﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Innova.Microfinanzas.BusinessEntities.EnumClassifierTypes
{
    /// <summary>
    /// typos de clasificadores
    /// </summary>
    public enum CommonClassifierTypes : long
    {
        CurrencyClassfier = 1,
        ProductCategory = 2,
        ProductMark = 4,
        ProductType = 5,
        OrdersStates = 6
    }
}

namespace Innova.Microfinanzas.BusinessEntities.EnumClassifiers
{
    // enumeradores que son clasificadores del sistema

    /// <summary>
    /// estado de pedido a proveedores
    /// </summary>
    public enum OrderSupplierState : long
    {
        /// <summary>
        /// solicitado
        /// </summary>        
        Request = 5,
        /// <summary>
        /// entregado
        /// </summary>
        Delivery = 8,
        /// <summary>
        /// parcialmente entregado
        /// </summary>
        ParcialDelivery = 9,
        /// <summary>
        /// anulado
        /// </summary>
        Cancel = 10
    }

    public enum SalesOrderDetailState : long
    { 
        Sale = 23,
        Returned = 24
    }
}

namespace Innova.Microfinanzas.BusinessEntities.SystemEnums
{
    // enumeradores fijos del sistema, no son clasificadores

    /// <summary>
    /// Opciones de manejo de pantalla
    /// </summary>
    public enum OptionSelect
    {
        /// <summary>
        /// nuevo registro
        /// </summary>
        Create,
        /// <summary>
        /// edicion de registro
        /// </summary>
        Edit,
        /// <summary>
        /// eliminacion de registro
        /// </summary>
        Delete
    }

    /// <summary>
    /// Opciones de manejo de pantalla
    /// </summary>
    public enum ReportType
    {
        /// <summary>
        /// Almacenes
        /// </summary>
        Stores,

        /// <summary>
        /// Tiendas
        /// </summary>
        DealerStores,

        /// <summary>
        /// Proveedores
        /// </summary>
        Suppliers,

        /// <summary>
        /// Piloteros
        /// </summary>
        Conveyors,

        /// <summary>
        /// Productos
        /// </summary>
        Products,

        /// <summary>
        /// Precio de Productos
        /// </summary>
        ProductPrices,

        /// <summary>
        /// Stock
        /// </summary>
        StoreStock,

        /// <summary>
        /// Ventas
        /// </summary>
        Sales,

        /// <summary>
        /// Ingresos Salidas
        /// </summary>
        InOutCashFlow
    }

    /// <summary>
    /// enumerador de los diferentes codigos autogenerados que hay en el sistema
    /// </summary>
    public enum CompositionOfCodeTypes : long
    {
        /// <summary>
        /// orden de pedido a proveedores
        /// </summary>
        OrderToSupplierCode = 1,
        /// <summary>
        /// orden de venta a clientes
        /// </summary>
        SalesOrder = 2
    }

    /// <summary>
    /// enumerador de la moneda base del sistema
    /// </summary>
    public enum MoneyEnum : long
    {
        /// <summary>
        /// moneda local bolivianos
        /// </summary>
        LocalMoney = 1,
        /// <summary>
        /// moneda extranjera dolares
        /// </summary>
        ExternalMoney = 2
    }
}
